﻿#智能去空格脚本
#2010-7-15
#Author:Begtostudy
import clr
clr.AddReference('System')

from System.Text.RegularExpressions import *

#去空格函数
def ReplaceBlank(st):
    tmp=st.Replace('-\r\n','').Replace('- \r\n','').Replace('\r\n',' ')
    tmp=tmp.Replace(r'ﬁ',r'fi').Replace(r'ﬂ',r'fl')
    tmp=Regex.Replace(tmp,r'\s+',r' ')
    tmp=Regex.Replace(tmp,r'([^x00-xff()\[\]a-z]\s+\S)',lambda m:m.Value.Replace(r' ',r''))
    tmp=Regex.Replace(tmp,r'(\S(\s+)[^x00-xff()\[\]])',lambda m:m.Value.Replace(r' ',r''))    
    tmp=Regex.Replace(tmp,r'([\<(\[]\s+\S)',lambda m:m.Value.Replace(r' ',r''))
    tmp=Regex.Replace(tmp,r'(\S\s+[\>)\]])',lambda m:m.Value.Replace(r' ',r''))
    tmp=Regex.Replace(tmp,r'([,.?!:])',lambda m:m.Value+' ')    
    tmp=tmp.Replace(r'e. g.','e.g.')    
    return tmp.Trim()